<!doctype html>
<html lang="en-us">
<head>

    <meta charset="utf-8">
    <meta name="generator" content="Hugo 0.59.1" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <title>林贤钦 | 专注于Java、微信小程序、移动互联网、项目管理、软件架构</title>
    <meta property="og:title" content="林贤钦 | 专注于Java、微信小程序、移动互联网、项目管理、软件架构">
    <meta property="og:type" content="website">
    <meta name="Keywords" content="java,博客,项目管理,软件架构,公众号,小程序">
    <meta name="description" content="专注于IT互联网，包括但不限于Java、软件架构等">
    <meta property="og:url" content="http://linxianqin.gitee.io/">
    <link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon">

    <link rel="stylesheet" href="/css/normalize.css">
    
    <link rel="stylesheet" href="/css/style.css">
    <link rel="alternate" type="application/rss+xml+xml" href="http://linxianqin.gitee.io/index.xml" title="林贤钦" />
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

    


    
    
</head>


<body>
<header id="header" class="clearfix">
	<div class="container">
        <div class="col-group">
            <div class="site-name ">
                
                    <h1>
                        <a id="logo" href="http://linxianqin.gitee.io">
                            林贤钦
                        </a>
                    </h1>
                
                <p class="description">专注于Java、微信小程序、移动互联网、项目管理、软件架构</p>
            </div>
            <div>
                <nav id="nav-menu" class="clearfix">
                    <a class="current" href="http://linxianqin.gitee.io">首页</a>
                    
                    <a  href="http://linxianqin.gitee.io/archives/" title="归档">归档</a>
                    
                    <a  href="http://linxianqin.gitee.io/about/" title="关于">关于</a>
                    
                </nav>
            </div>
        </div>
    </div>
</header>


<div id="body">
    <div class="container">
        <div class="col-group">

            <div class="col-8" id="main">
                <div class="res-cons">
                    
		    
                        <article class="post">
                            <header>
                                <h1 class="post-title">
                                    <a href="http://linxianqin.gitee.io/post/java-%E5%8F%8D%E5%B0%84/" title="Java 反射" >Java 反射</a>
                                </h1>
                            </header>
                            <date class="post-meta meta-date">
                                2020年4月21日
                            </date>
                            
                            <div class="post-meta">
                                <span>|</span>
                                
                                <span class="meta-category"><a href="http://linxianqin.gitee.io/categories/java">java</a></span>
                                
                            </div>
                            
                            <div class="post-content">
                                Java 反射机制 基本概念 ​ 在java运行时环境中，对于任意一个类，能否知道这个类有哪些属性和方法？对于任意一个对象，能否调用它的任意一个方法？
答案是肯定的
这种动态获取类的信息以及动态调用对象的方法的功能来自于Java语言的反射（Reflection）机制。
反射也称作框架设计的灵魂，简单来说，反射将类的各个部分封装为其他对象。使用反射，可以在程序运行过程中，操作这些对象，也可以解耦，提高程序的可扩展性
那么，既然反射是如何操作的？
待我一步一步慢慢道来，首先，先不管三七二十一，在idea敲上这些代码
public class DumpMethods { public static void main(String[] args) throws Exception{ //获得字符串所标识的class对象 //在此处传入字符串指定类名，所以参数获取可以是一个运行期的行为，可以用args[0] Class&lt;?……
                            </div>
                            <p class="readmore"><a href="http://linxianqin.gitee.io/post/java-%E5%8F%8D%E5%B0%84/">阅读全文</a></p>
                        </article>
                    
                    
		    
                        <article class="post">
                            <header>
                                <h1 class="post-title">
                                    <a href="http://linxianqin.gitee.io/post/java-%E9%93%BE%E8%A1%A8/" title="Java 链表" >Java 链表</a>
                                </h1>
                            </header>
                            <date class="post-meta meta-date">
                                2020年4月20日
                            </date>
                            
                            <div class="post-meta">
                                <span>|</span>
                                
                                <span class="meta-category"><a href="http://linxianqin.gitee.io/categories/java8">java8</a></span>
                                
                                <span class="meta-category"><a href="http://linxianqin.gitee.io/categories/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84">数据结构</a></span>
                                
                            </div>
                            
                            <div class="post-content">
                                ==Java-链表== 学习java链表也有好几天了，下面就简单整理一下，对链表还是不够深入了解，后面继续学习继续补充修整
1、什么是链表？
 链表是以节点的方式来存储，是链式存储。看似有序，其实是无序的，只不过链表通过链表中的指针，即节点链接次序实现的。 每个节点都包含data域，next域，next指向下个节点，也就是通过next来实现链表的串联。 其实在java中，next也是一个对象，next和下个节点是同一个地址，所以就实现了指向下个节点，简单来说，在java中next就是下个节点。 链表有好几种，单链表，双链表，环形链表  单链表，就是只有一个节点，并且只能指向下一个如
public class Node&lt;T&gt;{ public T Data; //data域 存放数据 public Node next; //指向下一个节点 }  双链表，就是有两个节点，一个next指向下一个节点，一个pre指向前一个节点……
                            </div>
                            <p class="readmore"><a href="http://linxianqin.gitee.io/post/java-%E9%93%BE%E8%A1%A8/">阅读全文</a></p>
                        </article>
                    
                    
		    
                        <article class="post">
                            <header>
                                <h1 class="post-title">
                                    <a href="http://linxianqin.gitee.io/post/%E7%9F%AD%E4%BF%A1%E6%B3%A8%E5%86%8C%E5%92%8C%E5%BE%AE%E4%BF%A1%E7%99%BB%E5%BD%95%E7%9A%84%E5%AE%9E%E7%8E%B0/" title="短信注册和微信登录的实现" >短信注册和微信登录的实现</a>
                                </h1>
                            </header>
                            <date class="post-meta meta-date">
                                2020年4月20日
                            </date>
                            
                            <div class="post-meta">
                                <span>|</span>
                                
                                <span class="meta-category"><a href="http://linxianqin.gitee.io/categories/java">java</a></span>
                                
                                <span class="meta-category"><a href="http://linxianqin.gitee.io/categories/%E9%98%BF%E9%87%8C%E4%BA%91">阿里云</a></span>
                                
                            </div>
                            
                            <div class="post-content">
                                短信注册和微信登录的实现 短信发送过程，和微信发送过程，大多都是差不多的，改动不大，也没什么好说的，很简单，代码也固定，下面就是我整里的过程
一、阿里云短信服务 帮助文档：
https://help.aliyun.com/product/44282.html?spm=5176.10629532.0.0.38311cbeYzBm73
(1) 准备：开通阿里云短信服务 添加 签名管理与模板管理
选择 国内消息 - 模板管理 - 添加模板……
                            </div>
                            <p class="readmore"><a href="http://linxianqin.gitee.io/post/%E7%9F%AD%E4%BF%A1%E6%B3%A8%E5%86%8C%E5%92%8C%E5%BE%AE%E4%BF%A1%E7%99%BB%E5%BD%95%E7%9A%84%E5%AE%9E%E7%8E%B0/">阅读全文</a></p>
                        </article>
                    
                    
		    
                        <article class="post">
                            <header>
                                <h1 class="post-title">
                                    <a href="http://linxianqin.gitee.io/post/OAuth2.0%E8%AE%A4%E8%AF%81%E6%8E%88%E6%9D%83%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95/" title="OAuth2.0认证授权单点登录" >OAuth2.0认证授权单点登录</a>
                                </h1>
                            </header>
                            <date class="post-meta meta-date">
                                2020年4月18日
                            </date>
                            
                            <div class="post-meta">
                                <span>|</span>
                                
                                <span class="meta-category"><a href="http://linxianqin.gitee.io/categories/java">java</a></span>
                                
                                <span class="meta-category"><a href="http://linxianqin.gitee.io/categories/JWT">JWT</a></span>
                                
                            </div>
                            
                            <div class="post-content">
                                OAuth2.0认证授权 1、基本概念 1.1什么是认证？ 进入移动互联网时代，大家每天都在刷手机，常用的软件有微信、支付宝、头条等，下边拿微信来举例子说明认证 相关的基本概念，在初次使用微信前需要注册成为微信用户，然后输入账号和密码即可登录微信，输入账号和密码 登录微信的过程就是认证。
系统为什么要认证？
认证是为了保护系统的隐私数据与资源，用户的身份合法方可访问该系统的资源。
认证 ：用户认证就是判断一个用户的身份是否合法的过程，用户去访问系统资源时系统要求验证用户的身份信 息，身份合法方可继续访问，不合法则拒绝访问。常见的用户身份认证方式有：用户名密码登录，二维码登录，手 机短信登录，指纹认证等方式。  1.2 什么是会话?……
                            </div>
                            <p class="readmore"><a href="http://linxianqin.gitee.io/post/OAuth2.0%E8%AE%A4%E8%AF%81%E6%8E%88%E6%9D%83%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95/">阅读全文</a></p>
                        </article>
                    
                    
		    
                        <article class="post">
                            <header>
                                <h1 class="post-title">
                                    <a href="http://linxianqin.gitee.io/post/Nacos%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83/" title="Nacos服务注册中心" >Nacos服务注册中心</a>
                                </h1>
                            </header>
                            <date class="post-meta meta-date">
                                2020年4月16日
                            </date>
                            
                            <div class="post-meta">
                                <span>|</span>
                                
                                <span class="meta-category"><a href="http://linxianqin.gitee.io/categories/springCloud">springCloud</a></span>
                                
                            </div>
                            
                            <div class="post-content">
                                1、基本概念 **Nacos 是阿里巴巴推出来的一个新开源项目，是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集，帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
2、常见的注册中心：  Eureka（原生，2.0遇到性能瓶颈，停止维护） Zookeeper（支持，专业的独立产品。例如：dubbo） Consul（原生，GO语言开发） Nacos   相对于 Spring Cloud Eureka 来说，Nacos 更强大。Nacos = Spring Cloud Eureka + Spring Cloud Config Nacos 可以与 Spring, Spring Boot, Spring Cloud 集成，并能代替 Spring Cloud Eureka, Spring Cloud Config 通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-discovery 实现服务的注册与发现。 Nacos是以服务为主要服务对象的中间件，Nacos支持所有主流的服务发现、配置和管理。  3、Nacos主要提供以下四大功能：  服务发现和服务健康监测 动态配置服务 动态DNS服务 服务及其元数据管理  4、Nacos结构图 2、Nacos下载和安装 （1）下载地址和版本 下载地址：https://github.……
                            </div>
                            <p class="readmore"><a href="http://linxianqin.gitee.io/post/Nacos%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83/">阅读全文</a></p>
                        </article>
                    
                    
		    
                        <article class="post">
                            <header>
                                <h1 class="post-title">
                                    <a href="http://linxianqin.gitee.io/post/SpringCloud%E5%BE%AE%E6%9C%8D%E5%8A%A1/" title="SpringCloud微服务" >SpringCloud微服务</a>
                                </h1>
                            </header>
                            <date class="post-meta meta-date">
                                2020年4月16日
                            </date>
                            
                            <div class="post-meta">
                                <span>|</span>
                                
                                <span class="meta-category"><a href="http://linxianqin.gitee.io/categories/springCloud">springCloud</a></span>
                                
                            </div>
                            
                            <div class="post-content">
                                SpringCloud 一、什么是微服务 1、微服务的由来 微服务最早由Martin Fowler与James Lewis于2014年共同提出，微服务架构风格是一种使用一套小服务来开发单个应用的方式途径，每个服务运行在自己的进程中，并使用轻量级机制通信，通常是HTTP API，这些服务基于业务能力构建，并能够通过自动化部署机制来独立部署，这些服务使用不同的编程语言实现，以及不同数据存储技术，并保持最低限度的集中式管理。
2、为什么需要微服务 在传统的IT行业软件大多都是各种独立系统的堆砌，这些系统的问题总结来说就是扩展性差，可靠性不高，维护成本高。到后面引入了SOA服务化，但是，由于 SOA 早期均使用了总线模式，这种总线模式是与某种技术栈强绑定的，比如：J2EE。这导致很多企业的遗留系统很难对接，切换时间太长，成本太高，新系统稳定性的收敛也需要一些时间。
3、微服务与单体架构区别 （1）单体架构所有的模块全都耦合在一块，代码量大，维护困难。
​ 微服务每个模块就相当于一个单独的项目，代码量明显减少，遇到问题也相对来说比较好解决。……
                            </div>
                            <p class="readmore"><a href="http://linxianqin.gitee.io/post/SpringCloud%E5%BE%AE%E6%9C%8D%E5%8A%A1/">阅读全文</a></p>
                        </article>
                    
                    
		    
                        <article class="post">
                            <header>
                                <h1 class="post-title">
                                    <a href="http://linxianqin.gitee.io/post/%E9%98%BF%E9%87%8C%E4%BA%91%E8%A7%86%E9%A2%91%E7%82%B9%E6%92%AD%E6%9C%8D%E5%8A%A1/" title="阿里云视频点播服务前后端实现" >阿里云视频点播服务前后端实现</a>
                                </h1>
                            </header>
                            <date class="post-meta meta-date">
                                2020年4月15日
                            </date>
                            
                            <div class="post-meta">
                                <span>|</span>
                                
                                <span class="meta-category"><a href="http://linxianqin.gitee.io/categories/java">java</a></span>
                                
                                <span class="meta-category"><a href="http://linxianqin.gitee.io/categories/%E9%98%BF%E9%87%8C%E4%BA%91">阿里云</a></span>
                                
                                <span class="meta-category"><a href="http://linxianqin.gitee.io/categories/vue">vue</a></span>
                                
                            </div>
                            
                            <div class="post-content">
                                一、阿里云视频点播技术能力盘点 参考文章：
https://blog.csdn.net/qq_33857573/article/details/79564255
视频点播（ApsaraVideo for VoD）是集音视频采集、编辑、上传、自动化转码处理、媒体资源管理、分发加速于一体的一站式音视频点播解决方案。
1、应用场景  音视频网站：无论是初创视频服务企业，还是已拥有海量视频资源，可定制化的点播服务帮助客户快速搭建拥有极致观看体验、安全可靠的视频点播应用。 短视频：集音视频拍摄、特效编辑、本地转码、高速上传、自动化云端转码、媒体资源管理、分发加速、播放于一体的完整短视频解决方案。目前已帮助1000+APP快速实现手机短视频功能。 直播转点播：将直播流同步录制为点播视频，用于回看。并支持媒资管理、媒体处理（转码及内容审核/智能首图等AI处理）、内容制作（云剪辑）、CDN分发加速等一系列操作。 在线教育：为在线教育客户提供简单易用、安全可靠的视频点播服务。可通过控制台/API等多种方式上传教学视频，强大的转码能力保证视频可以快速发布，覆盖全网的加速节点保证学生观看的流畅度。防盗链、视频加密等版权保护方案保护教学内容不被窃取。 视频生产制作：提供在线可视化剪辑平台及丰富的OpenAPI，帮助客户高效处理、制作视频内容。除基础的剪切拼接、混音、遮标、特效、合成等一系列功能外，依托云剪辑及点播一体化服务还可实现标准化、智能化剪辑生产，大大降低视频制作的槛，缩短制作时间，提升内容生产效率。 内容审核：应用于短视频平台、传媒行业审核等场景，帮助客户从从语音、文字、视觉等多维度精准识别视频、封面、标题或评论的违禁内容进行AI智能审核与人工审核。  2、功能介绍 3、整体流程 使用视频点播实现音视频上传、存储、处理和播放的整体流程如下：……
                            </div>
                            <p class="readmore"><a href="http://linxianqin.gitee.io/post/%E9%98%BF%E9%87%8C%E4%BA%91%E8%A7%86%E9%A2%91%E7%82%B9%E6%92%AD%E6%9C%8D%E5%8A%A1/">阅读全文</a></p>
                        </article>
                    
                    
		    
                        <article class="post">
                            <header>
                                <h1 class="post-title">
                                    <a href="http://linxianqin.gitee.io/post/%E9%98%9F%E5%88%97/" title="队列" >队列</a>
                                </h1>
                            </header>
                            <date class="post-meta meta-date">
                                2020年4月14日
                            </date>
                            
                            <div class="post-meta">
                                <span>|</span>
                                
                                <span class="meta-category"><a href="http://linxianqin.gitee.io/categories/java">java</a></span>
                                
                                <span class="meta-category"><a href="http://linxianqin.gitee.io/categories/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84">数据结构</a></span>
                                
                            </div>
                            
                            <div class="post-content">
                                什么是队列 队列是一种先进先出（First in First Out）的线性表，简称FIFO，允许插入的一端称为队尾，允许删除的一端称为队头
最简单的来说就是“先进先出，先来先服务，站前面，后来后服务往最后站，排队，不准插队”
顺序队列 简单来理解就是，我给定一个一条队伍的位置，比如5个，第一个来的站第一个，第二个来的站第二个，直达第五个人占第五个，然后出队的时候，我先找第一个，然后第一个出去，其余人不动，我一次找下去直到第五个人出完队
顺序队列通常采用一维数组进行存储，如图：
用数组实现一个顺序队列
队列的四个属性
private int maxSize;//表示数组最大的容量 private int front; //队列头 private int rear; //队列尾 private int[] arr; //存放数据，模拟队列  创建顺序队列的时候必须创建输入数组的大小arrMaxSize……
                            </div>
                            <p class="readmore"><a href="http://linxianqin.gitee.io/post/%E9%98%9F%E5%88%97/">阅读全文</a></p>
                        </article>
                    
                    
		    
                        <article class="post">
                            <header>
                                <h1 class="post-title">
                                    <a href="http://linxianqin.gitee.io/post/%E7%A8%80%E7%96%8F%E6%95%B0%E7%BB%84/" title="稀疏数组" >稀疏数组</a>
                                </h1>
                            </header>
                            <date class="post-meta meta-date">
                                2020年4月14日
                            </date>
                            
                            <div class="post-meta">
                                <span>|</span>
                                
                                <span class="meta-category"><a href="http://linxianqin.gitee.io/categories/java">java</a></span>
                                
                                <span class="meta-category"><a href="http://linxianqin.gitee.io/categories/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84">数据结构</a></span>
                                
                            </div>
                            
                            <div class="post-content">
                                1、 稀疏数组 稀疏数组就是当数组中大部分的内容值都未被使用(或者为0),在数组中仅有少部分的空间使用，因此造成内存空间的浪费，为了节省内存空间，并不影响数组中原有的内容，我们可以使用稀疏数组去压缩数据
稀疏数组得处理方法是： 1) 记录二维数组 一共几行几列，有多少个不同的值 2) 把具有不同值的元素的行列及值记录在一个小规模的二维数组中，从而缩小程序的规模 3）第一行保存二维数组的行数、列数、有效值个数 4）其他行保存二维数组 有效值所在行数、列数以及值
如图：一共有8个值：22，15、 11、 17、 -4 、39、91、 28……
                            </div>
                            <p class="readmore"><a href="http://linxianqin.gitee.io/post/%E7%A8%80%E7%96%8F%E6%95%B0%E7%BB%84/">阅读全文</a></p>
                        </article>
                    
                    
		    
                        <article class="post">
                            <header>
                                <h1 class="post-title">
                                    <a href="http://linxianqin.gitee.io/post/%E9%98%BF%E9%87%8C%E4%BA%91EasyExcel%E5%AE%9E%E7%8E%B0%E5%90%8E%E7%AB%AF%E5%AF%B9Excel%E7%9A%84%E8%AF%BB%E5%86%99%E6%93%8D%E4%BD%9C/" title="使用阿里云EasyExcel实现后端对Excel的读写操作" >使用阿里云EasyExcel实现后端对Excel的读写操作</a>
                                </h1>
                            </header>
                            <date class="post-meta meta-date">
                                2020年4月14日
                            </date>
                            
                            <div class="post-meta">
                                <span>|</span>
                                
                                <span class="meta-category"><a href="http://linxianqin.gitee.io/categories/java">java</a></span>
                                
                                <span class="meta-category"><a href="http://linxianqin.gitee.io/categories/%E9%98%BF%E9%87%8C%E4%BA%91">阿里云</a></span>
                                
                            </div>
                            
                            <div class="post-content">
                                一、Excel导入导出的应用场景 1、数据导入：减轻录入工作量
2、数据导出：统计信息归档
3、数据传输：异构系统之间数据传输
二、EasyExcel简介  Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内存。如果你的系统并发量不大的话可能还行，但是一旦并发上来后一定会OOM或者JVM频繁的full gc。 EasyExcel是阿里巴巴开源的一个excel处理框架，以使用简单、节省内存著称。EasyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一次性全部加载到内存中，而是从磁盘上一行行读取数据，逐个解析。 EasyExcel采用一行一行的解析模式，并将一行的解析结果以观察者的模式通知处理（AnalysisEventListener）。  三、用代码实现EasyExcel对Excel读操作 这里举例我实际项目的例子……
                            </div>
                            <p class="readmore"><a href="http://linxianqin.gitee.io/post/%E9%98%BF%E9%87%8C%E4%BA%91EasyExcel%E5%AE%9E%E7%8E%B0%E5%90%8E%E7%AB%AF%E5%AF%B9Excel%E7%9A%84%E8%AF%BB%E5%86%99%E6%93%8D%E4%BD%9C/">阅读全文</a></p>
                        </article>
                    
                    
                    



<ol class="page-navigator">
    

    
    <li  class="current">
        <a href="http://linxianqin.gitee.io/">1</a>
    </li>
    
    <li >
        <a href="http://linxianqin.gitee.io/page/2/">2</a>
    </li>
    
    <li >
        <a href="http://linxianqin.gitee.io/page/3/">3</a>
    </li>
    
    <li >
        <a href="http://linxianqin.gitee.io/page/4/">4</a>
    </li>
    

    
    <li class="next">
        <a href="http://linxianqin.gitee.io/page/2/">下一页</a>
    </li>
    
</ol>



                </div>
            </div>

            <div id="secondary">
    <section class="widget">
        <form id="search" action="//www.google.com/search" method="get" accept-charset="utf-8" target="_blank" _lpchecked="1">
      
      <input type="text" name="q" maxlength="20" placeholder="Search">
      <input type="hidden" name="sitesearch" value="http://linxianqin.gitee.io">
      <button type="submit" class="submit icon-search"></button>
</form>
    </section>
    
    <section class="widget">
        <h3 class="widget-title">最近文章</h3>
<ul class="widget-list">
    
    <li>
        <a href="http://linxianqin.gitee.io/post/java-%E5%8F%8D%E5%B0%84/" title="Java 反射">Java 反射</a>
    </li>
    
    <li>
        <a href="http://linxianqin.gitee.io/post/java-%E9%93%BE%E8%A1%A8/" title="Java 链表">Java 链表</a>
    </li>
    
    <li>
        <a href="http://linxianqin.gitee.io/post/%E7%9F%AD%E4%BF%A1%E6%B3%A8%E5%86%8C%E5%92%8C%E5%BE%AE%E4%BF%A1%E7%99%BB%E5%BD%95%E7%9A%84%E5%AE%9E%E7%8E%B0/" title="短信注册和微信登录的实现">短信注册和微信登录的实现</a>
    </li>
    
    <li>
        <a href="http://linxianqin.gitee.io/post/OAuth2.0%E8%AE%A4%E8%AF%81%E6%8E%88%E6%9D%83%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95/" title="OAuth2.0认证授权单点登录">OAuth2.0认证授权单点登录</a>
    </li>
    
    <li>
        <a href="http://linxianqin.gitee.io/post/Nacos%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83/" title="Nacos服务注册中心">Nacos服务注册中心</a>
    </li>
    
    <li>
        <a href="http://linxianqin.gitee.io/post/SpringCloud%E5%BE%AE%E6%9C%8D%E5%8A%A1/" title="SpringCloud微服务">SpringCloud微服务</a>
    </li>
    
    <li>
        <a href="http://linxianqin.gitee.io/post/%E9%98%BF%E9%87%8C%E4%BA%91%E8%A7%86%E9%A2%91%E7%82%B9%E6%92%AD%E6%9C%8D%E5%8A%A1/" title="阿里云视频点播服务前后端实现">阿里云视频点播服务前后端实现</a>
    </li>
    
    <li>
        <a href="http://linxianqin.gitee.io/post/%E9%98%9F%E5%88%97/" title="队列">队列</a>
    </li>
    
    <li>
        <a href="http://linxianqin.gitee.io/post/%E7%A8%80%E7%96%8F%E6%95%B0%E7%BB%84/" title="稀疏数组">稀疏数组</a>
    </li>
    
    <li>
        <a href="http://linxianqin.gitee.io/post/%E9%98%BF%E9%87%8C%E4%BA%91EasyExcel%E5%AE%9E%E7%8E%B0%E5%90%8E%E7%AB%AF%E5%AF%B9Excel%E7%9A%84%E8%AF%BB%E5%86%99%E6%93%8D%E4%BD%9C/" title="使用阿里云EasyExcel实现后端对Excel的读写操作">使用阿里云EasyExcel实现后端对Excel的读写操作</a>
    </li>
    
</ul>
    </section>

    

    <section class="widget">
        <h3 class="widget-title">分类</h3>
<ul class="widget-list">
    
    <li><a href="http://linxianqin.gitee.io/categories/JWT/">JWT (2)</a></li>
    
    <li><a href="http://linxianqin.gitee.io/categories/hugo/">hugo (2)</a></li>
    
    <li><a href="http://linxianqin.gitee.io/categories/java/">java (18)</a></li>
    
    <li><a href="http://linxianqin.gitee.io/categories/java8/">java8 (1)</a></li>
    
    <li><a href="http://linxianqin.gitee.io/categories/springCloud/">springCloud (2)</a></li>
    
    <li><a href="http://linxianqin.gitee.io/categories/springSecurity/">springSecurity (4)</a></li>
    
    <li><a href="http://linxianqin.gitee.io/categories/vue/">vue (5)</a></li>
    
    <li><a href="http://linxianqin.gitee.io/categories/yml/">yml (1)</a></li>
    
    <li><a href="http://linxianqin.gitee.io/categories/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/">数据结构 (3)</a></li>
    
    <li><a href="http://linxianqin.gitee.io/categories/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95/">软件测试 (1)</a></li>
    
    <li><a href="http://linxianqin.gitee.io/categories/%E9%98%BF%E9%87%8C%E4%BA%91/">阿里云 (4)</a></li>
    
</ul>
    </section>

    <section class="widget">
        <h3 class="widget-title">标签</h3>
<div class="tagcloud">
    
    <a href="http://linxianqin.gitee.io/tags/JWT/">JWT</a>
    
    <a href="http://linxianqin.gitee.io/tags/hugo/">hugo</a>
    
    <a href="http://linxianqin.gitee.io/tags/java/">java</a>
    
    <a href="http://linxianqin.gitee.io/tags/java8/">java8</a>
    
    <a href="http://linxianqin.gitee.io/tags/spring/">spring</a>
    
    <a href="http://linxianqin.gitee.io/tags/springBoot/">springBoot</a>
    
    <a href="http://linxianqin.gitee.io/tags/springCloud/">springCloud</a>
    
    <a href="http://linxianqin.gitee.io/tags/ssm/">ssm</a>
    
    <a href="http://linxianqin.gitee.io/tags/vue/">vue</a>
    
    <a href="http://linxianqin.gitee.io/tags/yml/">yml</a>
    
    <a href="http://linxianqin.gitee.io/tags/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/">数据结构</a>
    
    <a href="http://linxianqin.gitee.io/tags/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95/">软件测试</a>
    
    <a href="http://linxianqin.gitee.io/tags/%E9%98%BF%E9%87%8C%E4%BA%91/">阿里云</a>
    
</div>
    </section>

    
<section class="widget">
    <h3 class="widget-title">友情链接</h3>
    <ul class="widget-list">
        
        <li>
            <a target="_blank" href="https://www.cnki.net" title="中国知网">中国知网</a>
        </li>
        
        <li>
            <a target="_blank" href="https://linxianqin.com" title="个人的另一个博客网站(国内加载慢)">个人的另一个博客网站(国内加载慢)</a>
        </li>
        
    </ul>
</section>


    <section class="widget">
        <h3 class="widget-title">其它</h3>
        <ul class="widget-list">
            <li><a href="http://linxianqin.gitee.io/index.xml">文章 RSS</a></li>
        </ul>
    </section>
</div>
        </div>
    </div>
</div>
<footer id="footer">
    <div class="container">
        &copy; 2020 <a href="http://linxianqin.gitee.io">林贤钦 By 林贤钦</a>.
        Powered by <a rel="nofollow noreferer noopener" href="https://gohugo.io" target="_blank">Hugo</a>.
        <a href="https://www.flysnow.org/" target="_blank">Theme</a> based on <a href="https://github.com/rujews/maupassant-hugo" target="_blank">maupassant</a>.
        
    </div>
</footer>



<a id="rocket" href="#top"></a>
<script type="text/javascript" src="/js/totop.js?v=0.0.0" async=""></script>

<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
	window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
	ga('create', 'GA ID', 'auto');
	
	ga('send', 'pageview');
}
</script>
<script async src='https://www.google-analytics.com/analytics.js'></script>



    <script type="text/javascript" src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js" async></script>





</body>
</html>
